//package com.aaa.order.controller;
//
//import com.aaa.order.service.IOrderService;
//import entity.Order;
//import entity.Product;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.cloud.client.ServiceInstance;
//import org.springframework.cloud.client.discovery.DiscoveryClient;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//import org.springframework.web.client.RestTemplate;
//
//import java.util.List;
//import java.util.Random;
//
//@RestController
//@RequestMapping("/order")
//public class OrderController01 {
//    @Autowired
//    private DiscoveryClient discoveryClient;
//
//    @Autowired
//    private RestTemplate restTemplate;
//
//    @Autowired
//    private IOrderService orderService;
//
//    @GetMapping("/saveOrder")
//    public String saveOrder(Long pid,Integer num){
//        Order order=new Order();
//        //用户的信息可以从登录后获取--Session redis jwt
//        order.setUid(2);
//        order.setUsername("闫1克起");
//        //为订单对象设置商品的信息
//        order.setPid(pid);
//        //远程调用商品服务提供的接口--后面提到
//        //远程调用的方式：第一种基于TCP协议的rpc远程调用  第二种基于http协议restful风格的调用
//        //分布式架构：TCP协议
//        //微服务架构：http协议的 ---在spring框架中封装了一个工具resttemplate
//        //在nacos中封装了一个类DiscoveryClient，该类可以获取注册中心中指定的清单列表
//        //获取指定的实例
////        List<ServiceInstance> instances = discoveryClient.getInstances("shop-product");
////        int index = new Random().nextInt(instances.size());
////        ServiceInstance serviceInstance = instances.get(index);
//////        String path = serviceInstance.getHost();
////        String uri = serviceInstance.getUri().toString();
////        System.out.println(uri+"-------");
////        System.out.println(path+"--------");
//
//
//        Product product = restTemplate.getForObject("http://localhost:8001/product/getById/"+pid, Product.class);
//        order.setPname(product.getPname());
//        order.setPprice(product.getPprice());
//        order.setNumber(num);
//        orderService.save(order);
//        return "下单成功";
//    }
//}
